The performance of integrated circuits typically exhibits statistical fluctuations due to process variations during the manufacturing processes. Devices and circuits become more sensitive to the process variations as the sizes of integrated circuits continue to be scaled down. To predict the performance variations of devices, statistic modeling is required. Currently, most of foundries provide the “worst case” models, which assume that variations caused by different factors fluctuate in a same direction (corner). Designers are thus guided to over-design integrated circuits, so that the integrated circuits may perform correctly at all extreme corner cases. Furthermore, it is necessary to provide a separated mismatch model that allows designers to assess their circuit robustness against local variations, which are usually performed by using the Monte Carlos simulation.
FIG. 1 illustrates a flow of conventional corner modeling and statistic modeling. The conventional flow uses two independent flows for determining total variation corner and local variation mismatch models. The flow for total variation corner includes the steps of creating a plurality of identical test patterns (step 2), such as transistors, on a plurality of dies, collecting performance data (step 4) of the test patterns, and generating total variation sigma (sigma_total), wherein the term sigma represents standard deviation (step 6). The corners for total variation are then generated (step 8). The other flow is based on the assumption that local variation sigma (sigma_local) is defined from paired transistors mismatch data (step 10), and the respective sigma_local follows the 1/sqrt(W*L) rule (step 12), wherein W and L are the width and the length of transistors, respectively. Local variations are determined based on the Monte Carlos simulation (step 14). Mismatch between paired transistors may also be determined (step 16).
The assumption that sigma_local follows the 1/sqrt(W*L) rule fits well with experiment data of conventional integrated circuits. However, in advanced technologies with smaller scales, the modeling results are not accurate enough for capturing local variations in key electrical parameters. Particularly, the simulated sigma_local becomes greater with the scaling of transistors, hence the decrease in 1/sqrt(W*L). The difference between the real circuit and the model becomes increasingly greater.
A further drawback of the conventional modeling is that in the existing corner models, it is assumed that all devices are sampled at a same process corner, ignoring the fact that differences may arise between devices due to over-chip variations (variations inside a chip). This results in an over-pessimistic design. Designers who are aware of such effect can only manage it by applying an arbitrary combination of existing corner models to resemble the behavior of devices at different locations. Apparently, such a methodology is objective and inaccurate. To ensure robust designs, designers always need to know both the over-chip local variation and global variation. However, the conventional modeling does not separate global and local variations. Without proper description of global and local variations, designers may have to apply the local variations on the corners of total variations, resulting in a double counting of local variations due to the fact that total variations already include local variations. The double counting of local variations may be explained using FIG. 2, which schematically illustrates a parameter space, formed of parameters 1 and 2, for which data is collected from sample devices. Ellipse 20 illustrates an outer boundary of the total variation (sigma_total). Ellipses 22 are local variations (sigma_local) applied at corners 24 of the total variation. It is noted that the predicted variations (within an outer boundary of the shaded area) may be greater than the total variation, which is inside ellipse 20. The shadowed area indicates the extra design margin that will be wasted.
As is known in the art, sigma_local is a portion of the sigma_total. Therefore, sigma_local should always be no greater than sigma_total. However, existing models may provide greater sigma_local than sigma_total. One of the reasons of such a problem is that 1/sqrt(W*L) is used as sigma_local. Therefore, the modeling of sigma_local is separated from the modeling of total variations.
Accordingly, what is needed in the art is a novel modeling method for a more accurate determination of variations, so that less over-design is required. In addition, a unified modeling for local, global and total variations is needed.